<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- son1和son2是兄弟组件，从son1传值给son2，就是兄弟组件传值 -->
        <!--通过中介传递消息 这个中介就是总线 bus/eventBus。他即发射自定义事件 又监听自定义事件 -->
        <son1></son1>
        <son2></son2>
    </div>
    <script>
        let bus = new Vue(); // 空实例
        Vue.prototype.bus = bus;
        let vm = new Vue({
            el: '#app',
            data: {
                
            },
            methods: {
                
            },
            components: {
                'son1': {
                    template: `<div><button @click="post">直达</button></div>`,
                    data() {
                        return {
                            msg: '中午吃啥？'
                        }
                    },
                    methods: {
                        post() {
                            // 之前用的是this.$emit 这次是 this.bus.$emit。
                            this.bus.$emit('send', this.msg)
                        }
                    }
                },
                'son2': {
                    template: `<div>666</div>`,
                    created() {
                        // 建立监听 先建立监听 然后等待事件的触发
                        this.bus.$on('send', val => {
                            console.log('由bus得到的数据：',val);
                        })
                    }
                }
            }
        })
    </script>
</body>
</html>